import reactLogo from './assets/react.svg';
import viteLogo from '/vite.svg';
import './App.css';
import { counterSlice, selectCount, fetchCounts } from './feature/counterSlice';
import { useSelector, useDispatch } from './feature/hooks';

function App() {
  const counter = useSelector(selectCount);
  const dispatch = useDispatch();

  return (
    <>
      <div>
        <a href="https://vitejs.dev" target="_blank">
          <img src={viteLogo} className="logo" alt="Vite logo" />
        </a>
        <a href="https://react.dev" target="_blank">
          <img src={reactLogo} className="logo react" alt="React logo" />
        </a>
      </div>
      <h1>Vite + React</h1>
      <div className="card">
        <p>count is {counter}</p>
        <p>
          <button
            onClick={() => {
              dispatch(counterSlice.actions.add());
            }}
          >
            Add Counter
          </button>
          <button
            onClick={() => {
              dispatch(counterSlice.actions.remove());
            }}
          >
            Remove Counter
          </button>
          <button
            onClick={() => {
              console.log(dispatch(counterSlice.actions.de(100)));
            }}
          >
            De Counter
          </button>
          <button
            onClick={() => {
              console.log(dispatch(fetchCounts(11)));
            }}
          >
            Test CreateAsyncThunk
          </button>
        </p>
        <p>
          Edit <code>src/App.tsx</code> and save to test HMR
        </p>
      </div>
      <p className="read-the-docs">
        Click on the Vite and React logos to learn more
      </p>
    </>
  );
}

export default App;
